package cn.b.sky.form.dao;

import cn.b.sky.form.model.BusinessFieldValue;
import cn.b.sky.form.model.condition.BusinessFieldValueCondition;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 
 * <strong>Title : BusinessFieldValueDao.java<br></strong>
 * <strong>Package : cn.b.sky.flowable.dao<br></strong>
 * <strong>Description : </strong>字段选项值相关数据库操作接口定义<br> 
 * <strong>Create on : 2016-09-27 下午09:48:43<br></strong>
 * <p>
 * @author JunLin.Yang<br>
 * @version <strong>v1.0.0</strong><br>
 */
public interface BusinessFieldValueDao {
	
		/**
  	 * 
  	 * <strong>Title : insertBusinessFieldValue<br></strong>
  	 * <strong>Description : </strong>新增字段选项值数据<br> 
  	 * <strong>Create on : 2016-09-27 下午09:48:43<br></strong>
  	 * <p>
  	 * @param data 字段选项值
  	 * @return
  	 * int 新增记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
 		 */
  public int insertBusinessFieldValue(BusinessFieldValue data);
  
  	/**
  	 * 
  	 * <strong>Title : updateBusinessFieldValue<br></strong>
  	 * <strong>Description : </strong>更新字段选项值数据<br> 
  	 * <strong>Create on : 2016-09-27 下午09:48:43<br></strong>
  	 * <p>
  	 * @param data 字段选项值
  	 * @return
  	 * int 更新的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int updateBusinessFieldValue(BusinessFieldValue data);
  	
  	
  	/**
  	 * 
  	 * <strong>Title : deleteBusinessFieldValue<br></strong>
  	 * <strong>Description : </strong>删除字段选项值数据<br> 
  	 * <strong>Create on : 2016-09-27 下午09:48:43<br></strong>
  	 * <p>
  	 * @param data 字段选项值
  	 * @return
  	 * int 删除的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int deleteBusinessFieldValue(BusinessFieldValue data);
  	
  	
  	/**
  	 * 
  	 * <strong>Title : getBusinessFieldValuesCount<br></strong>
  	 * <strong>Description : </strong>查询所有的字段选项值数据记录数<br> 
  	 * <strong>Create on : 2016-09-27 下午09:48:43<br></strong>
  	 * <p>
  	 * @return
  	 * long 数据记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public long getBusinessFieldValuesCount();
  	
  	/**
  	 * 
  	 * <strong>Title : selectBusinessFieldValues<br></strong>
  	 * <strong>Description : </strong>查询所有的字段选项值数据<br> 
  	 * <strong>Create on : 2016-09-27 下午09:48:43<br></strong>
  	 * <p>
  	 * @return
  	 * List<BusinessFieldValue> 所有的字段选项值数据
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public List<BusinessFieldValue> selectBusinessFieldValues();
  	
  	/**
  	 * 
  	 * <strong>Title : deleteBusinessFieldValueByPrimaryKey<br></strong>
  	 * <strong>Description : </strong>根据主键信息删除字段选项值数据<br> 
  	 * <strong>Create on : 2016-09-27 下午09:48:43<br></strong>
  	 * <p>
	 * @param siteCode 工厂编号
	 * @param businessType 业务类型
	 * @param businessField 字段选项值
	 * @param value 选项值
	 * @return
  	 * int 删除的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int deleteBusinessFieldValueByPrimaryKey(@Param("siteCode") String siteCode, @Param("businessType") String businessType, @Param("businessField") String businessField, @Param("value") String value);
  	
  /**
	 * 
	 * <strong>Title : getBusinessFieldValueByPrimaryKey<br></strong>
	 * <strong>Description : </strong>根据主键查询字段选项值对象<br> 
	 * <strong>Create on : 2016-09-27 下午09:48:43<br></strong>
	 * <p>
	 * @param siteCode 工厂编号
	 * @param businessType 业务类型
	 * @param businessField 字段选项值
	 * @param value 选项值
	 * @return
	 * BusinessFieldValue 字段选项值对象
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public BusinessFieldValue getBusinessFieldValueByPrimaryKey(@Param("siteCode") String siteCode, @Param("businessType") String businessType, @Param("businessField") String businessField, @Param("value") String value);
  
  /**
	 * 
	 * <strong>Title : existBusinessFieldValueByPrimaryKey<br></strong>
	 * <strong>Description : </strong>根据主键查询字段选项值对象是否存在<br> 
	 * <strong>Create on : 2016-09-27 下午09:48:43<br></strong>
	 * <p>
	 * @param siteCode 工厂编号
	 * @param businessType 业务类型
	 * @param businessField 字段选项值
	 * @param value 选项值
	 * @return
	 * boolean 数据是否存在
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public boolean existBusinessFieldValueByPrimaryKey(@Param("siteCode") String siteCode, @Param("businessType") String businessType, @Param("businessField") String businessField, @Param("value") String value);
  
  	/**
  	 * 
  	 * <strong>Title : existsBusinessFieldValueByCondition<br></strong>
  	 * <strong>Description : </strong>根据查询对象查询字段选项值数据是否存在<br> 
  	 * <strong>Create on : 2016-09-27 下午09:48:43<br></strong>
  	 * <p>
  	 * @param condition 字段选项值查询对象
  	 * boolean 数据是否存在
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public boolean existsBusinessFieldValueByCondition(BusinessFieldValueCondition condition);
  	
  	/**
  	 * 
  	 * <strong>Title : deleteBusinessFieldValueByCondition<br></strong>
  	 * <strong>Description : </strong>根据查询对象删除字段选项值数据<br> 
  	 * <strong>Create on : 2016-09-27 下午09:48:43<br></strong>
  	 * <p>
  	 * @param condition 字段选项值查询对象
  	 * int 删除的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int deleteBusinessFieldValueByCondition(BusinessFieldValueCondition condition);
	
	
  /**
	 * 
	 * <strong>Title : getBusinessFieldValueByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询对应字段选项值对象<br> 
	 * <strong>Create on : 2016-09-27 下午09:48:43<br></strong>
	 * <p>
	 * @param condition 字段选项值查询条件
	 * @return
	 * BusinessFieldValue 字段选项值对象
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public BusinessFieldValue getBusinessFieldValueByCondition(BusinessFieldValueCondition condition);
	
	/**
	 * 
	 * <strong>Title : selectBusinessFieldValuesByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询字段选项值集合<br> 
	 * <strong>Create on : 2016-09-27 下午09:48:43<br></strong>
	 * <p>
	 * @param condition 字段选项值查询条件
	 * @return 
	 * List<BusinessFieldValue> 字段选项值集合
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public List<BusinessFieldValue> selectBusinessFieldValuesByCondition(BusinessFieldValueCondition condition);
	
	/**
	 * 
	 * <strong>Title : selectBusinessFieldValuePageDataByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询相应分页的字段选项值集合<br> 
	 * <strong>Create on : 2016-09-27 下午09:48:43<br></strong>
	 * <p>
	 * @param condition 字段选项值查询条件
	 * @return 
	 * List<BusinessFieldValue> 字段选项值集合
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public List<BusinessFieldValue> selectBusinessFieldValuePageDataByCondition(BusinessFieldValueCondition condition);

	/**
	 * 
	 * <strong>Title : getBusinessFieldValuesCountByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询相应的字段选项值记录数<br> 
	 * <strong>Create on : 2016-09-27 下午09:48:43<br></strong>
	 * <p>
	 * @param condition 字段选项值查询条件
	 * @return
	 * long 数据记录数
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
  	public long getBusinessFieldValuesCountByCondition(BusinessFieldValueCondition condition);
  	
  	
  	
  
	
}
